package net.hn.hnms.biz.plan.service;

import net.hn.hnms.biz.plan.request.DispatchKeepWatchPersonReq;
import net.hn.hnms.biz.plan.vo.DispatchKeepWatchPersonVO;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;

import java.util.List;

/**
 * @author zhaoyang
 * 带值班人员管理服务层
 * @date 2022-08-02
 */
public interface IDispatchKeepWatchPersonService {

    /**
     *
     * @param dispatchKeepWatchPerson
     * @param pageQuery
     * 分页查询带值班人员列表
     */
    ResponsePage<DispatchKeepWatchPersonVO> selectPageList(DispatchKeepWatchPersonReq dispatchKeepWatchPerson, PageQuery pageQuery);


    /**
     *
     * @param dispatchKeepWatchPerson
     * 查询带值班人员列表
     */
    List<DispatchKeepWatchPersonVO> selectList(DispatchKeepWatchPersonReq dispatchKeepWatchPerson);



    List<DispatchKeepWatchPersonVO> selectPostType();

    /**
     *
     * @param dispatchKeepWatchPerson
     * 新增带值班人员
     */
    int insert(DispatchKeepWatchPersonReq dispatchKeepWatchPerson);

    /**
     *
     * @param idList
     * 批量删除 id集合
     */
    void deleteBatch(List<String> idList);

    /**
     *
     * @param dispatchKeepWatchPerson
     * 单个更新 根据id主键 更新带值班人员详情
     */
    void updateById(DispatchKeepWatchPersonReq dispatchKeepWatchPerson);


    /**
     *
     * @param id
     * 通过主键id 查询详情
     */
    DispatchKeepWatchPersonVO selectDetailById(String id);

    /**
     * 启用/禁用
     * @param id 数据id
     * @param status  status: 0:启用 1:禁用
     */
    void changeStatus(String id, Integer status);
}
